// index.js
// 获取app实例
const app = getApp();

Page({
  data: {
    hasgou: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function () {
    // 检查是否已经有登录状态
    const token = wx.getStorageSync('userToken');
    if (token) {
      console.log('用户已登录，token:', token);
      // 可以在这里跳转到首页或其他需要登录的页面
    }
  },

  /**
   * 切换勾选状态
   */
  toggleAgreement: function () {
    this.setData({
      hasgou: !this.data.hasgou
    });
  },

  /**
   * 微信一键登录
   */
  wechatLogin: function () {
    // 检查是否已勾选同意协议
    if (!this.data.hasgou) {

      wx.showToast({
        title: '请先勾选已阅读并同意服务条款和隐私权政策',
        icon: 'none',
        duration: 2000
      });
      return;
    }

    // 显示加载中
    wx.showLoading({
      title: '登录中...',
    });

    // 调用微信登录接口
    wx.login({
      success: (res) => {
        if (res.code) {
          // 发送 res.code 到后端换取 openId, sessionKey, unionId
          // 这里应该调用你的后端接口，获取token
          console.log('登录成功，code:', res.code);

          // 模拟后端接口调用
          this.getTokenFromServer(res.code);
        } else {
          console.log('登录失败！' + res.errMsg);
          wx.hideLoading();
          wx.showToast({
            title: '登录失败，请重试',
            icon: 'none',
            duration: 2000
          });
        }
      },
      fail: (err) => {
        console.log('微信登录失败:', err);
        wx.hideLoading();
        wx.showToast({
          title: '微信登录失败，请重试',
          icon: 'none',
          duration: 2000
        });
      }
    });
  },

  /**
   * 从服务器获取token
   */
  getTokenFromServer: function (code) {
    app.api.wechatLogin(code).then(res => {
      wx.hideLoading();

      // 检查响应中是否包含data对象和token
      if (res && res.data && res.data.token) {
        // 保存token到缓存
        wx.setStorageSync('userToken', res.data.token);

        // 保存用户信息
        if (res.data.user_info) {
          wx.setStorageSync('userInfo', res.data.user_info);
        }

        wx.showToast({
          title: '登录成功',
          icon: 'success',
          duration: 2000,
          success: () => {
            // 登录成功后跳转到首页并关闭登录页面
            wx.redirectTo({ url: '/pages/index/index' });
          }
        });
      } else {
        console.log('获取token失败:', res);
        wx.showToast({
          title: '获取token失败，请重试',
          icon: 'none',
          duration: 2000
        });
      }
    }).catch(err => {
      console.log('请求服务器失败:', err);
      wx.hideLoading();
      wx.showToast({
        title: '网络请求失败，请检查网络',
        icon: 'none',
        duration: 2000
      });
    });
  }
});
